package com.sky.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.sky.dto.OrdersCancelDTO;
import com.sky.dto.OrdersPageQueryDTO;
import com.sky.dto.OrdersRejectionDTO;
import com.sky.dto.OrdersSubmitDTO;
import com.sky.entity.Orders;
import com.sky.result.PageResult;
import com.sky.result.Result;
import com.sky.vo.OrderOverViewVO;
import com.sky.vo.OrderSubmitVO;
import com.sky.vo.OrderVO;

import java.util.List;

/**
 * <p>
 * 订单表 服务类
 * </p>
 *
 * @author fcy
 * @since 2025-09-13
 */
public interface IOrdersService extends IService<Orders> {

    Result<OrderSubmitVO> submit(OrdersSubmitDTO ordersSubmitDTO);

    Result<OrderVO> getOrderById(Long id);

    Result cancel(Long id);

    Result<PageResult> historyOrders(OrdersPageQueryDTO pageDto);

    void cancelAdmin(OrdersCancelDTO ordersCancelDTO);

    OrderOverViewVO statistics();

    void complete(Long id);

    void rejection(OrdersRejectionDTO ordersRejectionDTO);

    void confirm(Long id);

    void delivery(Long id);

    PageResult searchList(OrdersPageQueryDTO ordersPageQueryDTO);
}
